// // 创建WxRequest类
// // 通过类的方式来进行封装，会让代码更具有复用性，也可以方便添加新的属性和方法
// class WxRequest{
 
// 	// 定义实例属性，用来设置默认请求参数
// 	defaults={
// 		baseURL:'',//请求基准地址
// 		url:'',//接口的请求路径
// 		data:null,//请求参数
// 		method:'GET',//默认的请求方法
// 		//请求头
// 		header:{
// 			'Content-type':'application/json'//设置数据的交互格式
// 		},
// 		timeout:60000//默认的超时时长，小程序默认的超时时长是1分钟
// 	}
 
// 	// 定义拦截器对象
// 	// 需要包含请求拦截器以及响应拦截器，方便在请求之前以及响应以后时进行逻辑处理
// 	interceptors={
// 		// 请求拦截器
// 		// request方法，在请求发送之前，对请求参数进行新增或修改
// 		request:(config) => config,
 
// 		// 响应拦截器
// 		// response方法，在服务器响应数据以后，对响应的数据进行逻辑处理
// 		reponse:(response) => response
// 	}
 
// 	// 用于创建和初始化类的属性以及方法
// 	// 在实例化时传入的参数，会被constructor形参进行接收
// 	constructor(params={}){
// 		// 通过Object.assign方法合并请求参数
// 		// 注意：需要传入的参数，覆盖默认的参数，因此传入的参数需要放到最后
// 		this.defaults = Object.assign({},this.defaults,params)
// 	}
// 	// request实例方法接收一个对象类型的参数，属性值和wx.request方法调用时传递的参数保持一致
// 	request(options){
 
// 		// 需要先合并完整的请求地址(baseURL+url)
// 		options.url = this.defaults.baseURL + options.url
// 		// 合并请求参数
// 		options={...this.defaults,...options}
 
// 		// 在请求发送之前，调用请求拦截器，新增和修改参数
// 		options = this.interceptors.request(options)
 
// 		// 需要使用Promise封装wx.request，处理异步请求
// 		return new Promise((resolve,reject)=>{
// 			wx.request({
// 			  ...options,
// 			//   当接口调用成功时会触发success回调函数
// 			// 接口调用错误，依然会走success
// 			  success:(res)=>{
// 				// 不管是成功响应还是失败响应都需要调用响应拦截器
// 				// 响应拦截器需要接受服务器响应的数据，然后对数据进行逻辑处理，处理好后进行返回，通过resolve将返回的数据抛出去
 
// 				// 在给响应拦截器传递参数时，需要将请求参数也一起传递
// 				// 方便进行代码的调试或者进行其他逻辑处理，需要先合并参数，然后将合并的参数传递给响应拦截器
 
// 				const mergeRes = Object.assign({},res,{config:options})
// 				  resolve(this.interceptors.response(mergeRes))
// 			  },
// 			//   当接口调用失败时会触发fail回调函数
// 			// 当网络超时了，这时网络出现了异常就会执行fail
// 			  fail:(err)=>{
// 				  // 不管是成功响应还是失败响应都需要调用响应拦截器
// 				const mergeErr = Object.assign({},err,{config:options})
// 				  reject(this.interceptors.response(mergeErr))
// 			  }
// 			})
// 		})
// 	}
	
	
// }
 
// // 以下是实例化代码
// // 目前写到一个文件中，是为了方便进行测试，以后会提取成多个文件
 
// // 对WxRequest进行实例化
// const instance = new WxRequest({
// 	baseURL:'https://henanopera.hndt.com/opera',
// 	timeout:15000
// })
 
// // 配置请求拦截器
// instance.interceptors.request =  (config) => {
// 	// 在请求发送之前进行的逻辑处理
 
// 	return config
// }
 
// // 配置响应拦截器
// instance.interceptors.reponse = (response) => {
// 	// 对服务器响应数据进行的逻辑处理
 
// 	return response
// }
 
// // 将WxRequest实例进行暴露出去，方便再其他文件中进行使用
// export default instance